const { insertAddr, getAllAddrList, updateAddrById, removeAddr } = require("../service/addr.service")

class AddrController {
  async createAddr (ctx) {
    // 1.获取用户参数
    const user_id = ctx.state.user.id
    // 2.获取地址参数
    const { consignee, phone, address } = ctx.request.body
    // 3.操作数据库
    const res = await insertAddr({ user_id, consignee, phone, address })
    // 4.返回结果
    ctx.body = {
      code: 0,
      message: '添加地址成功',
      result: res
    }
  }
  async findAll (ctx) {
    // 1.获取用户参数
    const user_id = ctx.state.user.id
    const res = await getAllAddrList(user_id)
    // 2.返回结果
    ctx.body = {
      code: 0,
      message: '获取地址成功',
      result: res
    }
  }
  async updateAddr (ctx) {
    // 1.获取请求参数
    const id = ctx.request.params.id
    const res = await updateAddrById(id, ctx.request.body)
    // 2.返回结果
    ctx.body = {
      code: 0,
      message: '更新地址成功',
      result: res
    }
  }
  async removeAddrById (ctx) {
    // 1.获取请求参数
    const id = ctx.request.params.id
    const res = await removeAddr(id)
    // 2.返回结果
    ctx.body = {
      code: 0,
      message: '删除地址成功',
      result: res
    }
  }
  async setDefault (ctx) {
    const user_id = ctx.state.user.id
    const id = ctx.request.params.id

    const res = await setDefaultAddr(user_id, id)

    ctx.body = {
      code: 0,
      message: '设置默认成功',
      result: res,
    }
  }
}
module.exports = new AddrController()